The present invention relates to an improved method and apparatus for storing audio data into a memory, such as an external storage device like a hard disk device (HDD), and also relates to an audio-data recording/reproduction method and apparatus using the improved audio-data storing method. More particularly, the present invention concerns a technique that allows a limited storage capacity of the memory to be used efficiently with no waste.
In digital audio recorders, such as digital mixing recorders, using an external storage device like a hard disk device (HDD), a file of song management data is created for each song (which is one complete unit of music to be recorded or reproduced and corresponds, for example, to a single piece of music), so as to manage sound data (waveform data) stored in the external storage device. The song management data for each song include various information necessary for reproducing the song, which includes data indicative of recorded locations, on the external storage device, of a series of the song-constituting sound or audio data. FIG. 2 shows an exemplary format in which audio data are stored in predetermined address regions of an external storage device in a conventionally-known digital audio recorder. Specifically, the external storage device includes two separate previously-set address regions each having a fixed storage capacity: song-management-data storing address region; and sound-data storing address region. In the song-management-data storing address region, there are stored song management data for individual songs. Storage capacity allocated to the song management data for each song is fixed in the illustrated example, which would thus fix the maximum number of songs storable in the song-management-data storing address region. In the sound-data storing address region, sound data of individual takesxe2x80x94each take corresponding to a recording on one occasionxe2x80x94are stored for each of predetermined recording units such as clusters. Same sound data may be used more than once in one song or may be shared among a plurality of songs.
When reproduction of a given song is instructed, access is made to particular addresses in the song-management-data storing address region where are stored the song management data of the given song, so as to read out the song management data. Then, on the basis of the read-out song management data, access is made sequentially to particular addresses in the sound-data storing address region where are stored the sound data of the given song, for reproduction of the given song.
While the song management data for each song generally has a fixed size, the sound data for each song has a variable size that varies with the time length of the song and a total number of tracks in the song. Therefore, in a situation where all the stored sound data have a large total size although only a smaller number of songs have been stored, the conventional sound-data storage format of FIG. 2 would present the following inconvenience. Namely, if the sound-data storing address region have become full before the number of songs stored in the song-management-data storing address region reaches the maximum number (i.e., even when there is still a vacancy in the song-management-data storing address region), no more song can be stored any longer, which would result in significant waste of the song-management-data storing address region. Conversely, if songs of small sizes are stored and the number of songs stored in the song-management-data storing address region has reached the maximum number even when there is still a vacancy in the sound-data storing address region, no more song can be stored any longer, which would result in significant waste of the sound-data storing address region.
In view of the foregoing, it is an object of the present invention to provide an improved audio-data storing method and apparatus which allow a storage capacity of an external storage device to be effectively used with no waste, and audio-data recording/reproduction method and apparatus using such an audio-data storing method.
In order to accomplish the above-mentioned object, the present invention provides a method of storing audio data into a memory, which comprises the steps of: setting, in the memory, a shared storage section to be used both for storing audio data of one or more songs and for storing song management data for each of the songs that are necessary for reproduction of the audio data, the song management data including data indicative of a stored position, in the shared storage section, of the audio data corresponding thereto; performing control for sequentially storing the audio data into the shared storage section in a predetermined single direction; and performing control for sequentially storing the song management data into the shared storage section in an opposite direction to the predetermined single direction. The method according to the present invention may further comprise a step of storing, into a predetermined region, system management data including data indicative of a stored position, in the shared storage section, of the song management data for each of the songs.
The position where storage of the audio data is to be started can be set, for example, to one end or near the one end of the shared storage section of the memory, and the position where storage of the song management data is to be started can be set, for example, to the other end or near the other end of the shared storage section of the memory.
In the memory (e.g., large-capacity memory or external storage device like a hard disk device) of the present invention, a shared storage section is set which is to be used both for storing the audio data (i.e., sound data constituting a body of a song) and for storing the song management data for each song that include data indicative of the stored position of the audio data (i.e., data for a user to know the recorded position of the sound data) and that are necessary for reproducing the audio data. The audio data and song management data are stored into shared storage section in opposite directions; for example, the audio data are sequentially stored into the shared storage section in one direction from one end toward the other end of the shared storage section while the song management data are sequentially stored into the shared storage section in the opposite direction from the other end toward the one end of the shared storage section, or vice versa. With this arrangement, the data can be stored until the shared storage section becomes full or substantially full, so that the storage capacity of the memory can be used effectively with no waste. If an address region for storing the song management data for each individual song is set to a fixed storage capacity, the recording start position of the song management data for each of the songs can be determined previously. Thus, even in the case where the song management data are sequentially stored into the shared storage section in the direction from the other end toward the one end of the shared storage section, it is possible to eliminate a need for complicated arithmetic operations to determine the recording start position when recording the song management data for each of the songs. Note that even where the song management data for the individual songs are stored in the opposite direction to the normal address-advancing (address-incrementing) direction, individual component data of the song management data for each individual song may be stored in the address-advancing direction; the audio data may be stored in a similar manner to the song management data. Namely, in this case, the direction in which only each block of the data is crammed into the memory is made opposite to the normal address-advancing direction, and the individual data in the block are stored in the address-advancing direction. Of course, the present invention is not so limited, and the individual data in the block may also be stored in the opposite direction to the address-advancing direction. Also, the audio data of each song may be recorded dispersedly in the shared storage section, in which case the song management data for the song may include sequence data that are indicative of a linkage among the recorded positions of the audio data so as to reproduce a series of the audio data of the song.
The method according to the present invention may further comprise the steps of: reading out, from the memory, the song management data of any one of the songs to be reproduced; and reading out, from the memory, the audio data on the basis of the song management data read out from the memory.
The method according to the present invention may further comprise the steps of: storing, into a predetermined region, system management data including data indicative of a stored position, in the shared storage section, of the song management data for each of the songs; reading out, from the memory, the song management data of any one of the songs to be reproduced, on the basis of the system management data; and reading out, from the memory, the audio data on the basis of the song management data read out from the memory.
In a preferred implementation, the memory is an external storage device, and the step of reading out, from the memory, the song management data includes a step of reading out, from the external storage device, the song management data of the song to be reproduced and storing the read-out song management data into an inner storage device. Further, the step of reading out, from the memory, the audio data may access the external storage device on the basis of the song management data stored in the inner storage device.
Further, in a preferred embodiment, the step of performing control for sequentially storing the audio data into the shared storage section performs control such that the audio data are sequentially stored into the shared storage section in a direction from one end toward another end of the shared storage section, and the step of performing control for sequentially storing the song management data into the shared storage section performs control such that the song management data are sequentially stored into the shared storage section in a direction from the other end toward the one end of the shared storage section. A region in the shared storage section for storing the song management data for each individual song may have a fixed storage capacity, and the system management data may include information indicative of an address at the other end of the shared storage section. Further, the step of reading out, from the memory, the song management data may includes: a step of performing, on the basis of the address at the other end of the shared storage section and the fixed storage capacity of the region, an arithmetic operation to determine an address region of the external storage device where the song management data of the song to be reproduced are stored; and a step of accessing the address region of the external storage device to read out the song management data of the song to be reproduced and then storing the read-out song management data into an inner storage device.
The present invention may be constructed and implemented not only as the method invention as discussed above but also as an apparatus invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor such as a computer or DSP, as well as a storage medium storing such a program. Further, the present invention may be implemented as a machine-readable storage medium storing performance data based on the principles of the invention. Furthermore, the processor used in the present invention may comprise a dedicated processor based on predetermined fixed hardware circuitry, rather than a CPU or other general-purpose type processor capable of operating by software.